Developing and deploying a use-inspired metapopulation framework for stratified health outcomes

Winter Simulation Conference, 2025

Presenter: Arindam Fadikar

Argonne National Laboratory

2025-12-08

People involved

  • Arindam Fadikar
  • Abby Stevens
  • Sara Rimer
  • Ignacio Martinez-Moyano
  • Nicholson Colllier
  • Jonathan Ozik
  • Charles Macal

  • Chol Mabil
  • Emile Jorgensen
  • Peter Ruestow
  • V. Eloesa McSorley

Roadmap

  • Motivation & collaboration context
  • MetaRVM modeling framework
    • Metapopulation structure
    • Disease progression model
    • Mixing matrices from a synthetic population
  • Implementation as an R package
  • Trajectory-oriented optimization
  • Case study: influenza in Chicago

Motivation

  • Public health decision makers increasingly rely on epidemiological models to:
    • Forecast likely futures
    • Stress-test interventions
    • Plan resource allocation (e.g., beds, staffing)

Motivation

Population-based ODE model

  • Aggregate-level dynamics
  • Homogeneous mixing assumptions
  • Computationally light and fast

Agent-based model

  • Individual-level interactions
  • Heterogeneous contact network
  • Expensive to run for large population

Motivation

Population-based ODE model

  • Aggregate-level dynamics
  • Homogeneous mixing assumptions

Meta-population hybrid model

MetaRVM

  • Stratified metapopulation structure
  • Time-varying mixing between strata

Agent-based model

  • Individual-level interactions
  • Heterogeneous contact network

MetaRVM

  • An open-source R package for modeling infectious disease spread across stratified subpopulations.
  • Subpopulations can be defined by:
    • Geography (e.g., neighborhood, ZIP, zone)
    • Demographics (e.g., age, race/ethnicity)
  • Features:
    • Time varying mixing pattern (weekday vs weekend, day vs night)
    • Extended SEIR-type disease progression
    • Checkpointing/restart functionality

MetaRVM - Disease model

MetaRVM - Population mixing

  • Allows for subpopulations based on demographic characteristics, e.g., based on age: children (green boxes), working-age adults (blue boxes), and seniors (orange boxes)
  • Allows for different mixing patterns for daytime and nighttime: obtained through social mixing studies or through synthetic population schedules

Mixing and force of infection

  • For each stratum, the force of infection depends on:
    • Mixing rates between the strata \(M = (m_{ij})\)
    • Prevalence of infectious individuals in \(j\)th stratum at time \(t\), \(I_t^{(j)}\), where \(j \in \mathcal{J}\)

Mixing and force of infection

  • Effective interacting population (exclude Hospitalized [H], Dead [D] from total Population [P])

\[ \mathrm{MP}_t^{(j)} = P_t^{(j)} - H_t^{(j)} - D_t^{(j)}, \qquad j \in \mathcal{J}. \]

  • Mixing across demographic strata

\(M\): mixing matrix \[ M = (m_{ij}), \qquad \sum_{j \in \mathcal{J}} m_{ij} = 1 \ \forall i, \]

\[ \mathrm{MP}_{t,\text{eff}}^{(j)} = \sum_{i \in \mathcal{J}} m_{ij}\,\mathrm{MP}_t^{(i)}, \quad S_{t,\text{eff}}^{(j)} = \sum_{i \in \mathcal{J}} m_{ij}\,S_t^{(i)}, \quad I_{t,\text{eff}}^{(j)} = \sum_{i \in \mathcal{J}} m_{ij}\,I_t^{(i)}. \]

Mixing and force of infection

  • Force of infection (Susceptible [S] vs Vaccinated [V])

\[ \lambda_{s,t}^{(j)} = \beta_s \frac{I_{t,\text{eff}}^{(j)}}{\mathrm{MP}_{t,\text{eff}}^{(j)}}, \qquad \lambda_{v,t}^{(j)} = \beta_v \frac{I_{t,\text{eff}}^{(j)}}{\mathrm{MP}_{t,\text{eff}}^{(j)}}. \]

  • S → Exposed [E] transition in stratum (j)

\[ p_{\mathrm{SE}}^{(j)} = 1 - \exp\!\big(-\lambda_{s,t}^{(j)} \,\Delta t\big), \\ \Delta SE_t^{(j)} = p_{\mathrm{SE}}^{(j)}\,S_t^{(j)}. \]

Age-stratified model - illustration

Ingredients

Population initialization

  • Age-groups: 0-17, 18-64, 65+
  • Initial conditions

Vaccination

  • Daily vaccination counts

Mixing matrices

  • Time varying mixing

Age-stratified model - illustration

Synthetic population

  • Statistically representative synthetic population of Chicago
    (2.7M people, 1.4M places, 13k activity schedules)

  • Demographically accurate households from ACS + PUMS at the CBG level

  • Workplaces generated from County Business Patterns + LEHD OD data
    (individuals assigned to realistic work locations)

  • Schools assigned to all school-aged children
    (some adults assigned schools as workplaces)

  • Additional mixing locations (restaurants, gyms, etc.) from SafeGraph

ChiSim

Macal et al. (2018)

Age-stratified model - illustration

Mobility –> Mixing

  • Agent mobility from real schedules

    • Adults: American Time Use Survey
    • Children: Panel Study of Income Dynamics
    • Each agent draws 1 of 10 possible schedules daily (weekday/weekend)
  • Endogenous contact network emerges from hour-by-hour co-location of agents

  • Aggregate

    • Count the total number of contacts that occur at each location between and within subpopulations
    • Normalize the counts to arrive at per-capita value

ChiSim

Macal et al. (2018)

Daytime vs Nightime mixing

Daytime

  • Strong location based mixing

Nighttime

  • More household and community mixing

MetaRVM in action

Prepare configuration

run_id: age-stratified
population_data:
  mapping: demographic_mapping.csv
  initialization: population_init.csv
  vaccination: vaccination.csv
mixing_matrix:
  weekday_day: m_wd_d.csv
  weekday_night: m_wd_n.csv
  weekend_day: m_we_d.csv
  weekend_night: m_we_n.csv
disease_params:
  ts: 0.5
  tv: 0.3
  ve : 0.5
  dv: 158
  dp: 1
  de: 3
  da: 5
  ds: 6
  dh: 4
  dr: 187
  pea: 0.333
  psr: 0.95
  phr: 0.97
sub_disease_params:
    age:
      0-17:
        ts: 0.5
        tv: 0.1
        pea: 0.1
        psr: 0.99
      18-64:
        ts: 0.5
        tv: 4
        pea: 0.1
        psr: 0.99
      65+:
        ts: 0.5
        tv: 7
        pea: 0.3
        psr: 0.97
simulation_config:
  start_date: 10/01/2023 # m/d/Y
  length: 200

MetaRVM in action

Run simulation

library(MetaRVM)
out <- metaRVM("config.yaml")

MetaRVM in action

Track influenza hospitalizations by age-groups

  • Goal:
    • Calibrate MetaRVM, i.e., estimate parameters to match age-stratified hospitalizations.
  • Approach:
    • Select the calibration parameters
    • age-stratified \(\beta_s\), \(\beta_v\), \(pea\), \(psh\).
    • Apply Trajectory Oriented Optimization to find relevant trajectories matching observations.
    • https://doi.org/10.1109/WSC60868.2023.10408258
    • Time-varying parameters

Results

Summary

  • MetaRVM provides a use-inspired metapopulation modeling framework for:
    • Detailed, stratified tracking of health outcomes
    • Infectious disease spread across multiple interacting subpopulations
  • Key contributions:
    • Uses synthetic population-derived mixing matrices
    • Balances realism with computational efficiency
    • Delivered as an open-source R package with a Shiny front end
  • Case study:
    • Demonstrated on influenza-related hospitalizations in Chicago
    • Supports prospective surveillance and scenario analysis

Current and Future Work

  • Extend MetaRVM to other respiratory diseases of public health concern (COVID, RSV) and additional demographic characteristics (geographic, race/ethnicity)
  • Apply checkpoint-aware Bayesian optimization
  • Utilize moving windows for improved trend detection
  • Expand nowcasting capabilities to forecasting and scenario analyses

Funding acknowledgments

  • Chicago Department of Public Health

References

Macal, Charles M, Nicholson T Collier, Jonathan Ozik, Eric R Tatara, and John T Murphy. 2018. “Chisim: An Agent-Based Simulation Model of Social Interactions in a Large Urban Area.” In 2018 Winter Simulation Conference (WSC), 810–20. IEEE.